package main

import (
	"fmt"
	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql" // 加上前缀 "_" 表示只是用到它内部的一些初始化的方法
)

//gorm demo01

// UserInfo ————> 数据库
type UserInfo struct {
	ID     int
	Name   string
	Gender string
	Hobby  string
}

func main() {
	//连接 MySQL 数据库
	db, err := gorm.Open("mysql", "root:123456@(127.0.0.1:3306)/db1?charset=utf8mb4&parseTime=True&loc=Local")
	if err != nil {
		panic(err)
	}
	defer db.Close()

	//创建表 自动迁移（把结构体和数据表进行对应）
	db.AutoMigrate(&UserInfo{})

	////创建数据行
	//u1 := UserInfo{
	//	ID:     1,
	//	Name:   "喜羊羊",
	//	Gender: "男",
	//	Hobby:  "跑步",
	//}
	//db.Create(&u1)

	//查询数据
	var u UserInfo
	db.First(&u)
	fmt.Printf("u:%#v\n", u)
	//更新
	db.Model(&u).Update("hobby", "踢足球")
	//删除
	db.Delete(&u)
}
